#pragma once

#include "Hazel/Core/Event.h"

namespace Hazel
{

    class ImGuiLayer
    {
    public:
        ImGuiLayer();
        ~ImGuiLayer() = default;

        void ShowDemoWindow();
        void SetShowDemoWindow(bool show) { m_ShowDemoWindow = show; }
        bool IsDemoWindowShowing() const { return m_ShowDemoWindow; }

        void OnAttach();
        void OnDetach();
        void OnEvent(Event &e);

        void Begin();
        void End();

        void BlockEvents(bool block) { m_BlockEvents = block; }

        void SetDarkThemeColors();

    private:
        bool m_BlockEvents = true;
        float m_Time = 0.0f;
        bool m_ShowDemoWindow = false; // 添加成员变量
    };

}